﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CoreCms.Net.Model.ViewModels.YiLianYun
{
    /// <summary>
    /// 易联云获取accessToken请求实体
    /// </summary>
    public class YiLianYunParam
    {

        /// <summary>
        /// 易联云颁发给开发者的应用ID 非空值
        /// </summary>
        public string client_id { get; set; }



        /// <summary>
        /// 授与方式（固定为'client_credentials'）
        /// </summary>
        public string grant_type { get; set; } = "client_credentials";

        /// <summary>
        /// 签名 详见API文档列表-接口签名
        /// </summary>

        public string sign { get; set; }

        /// <summary>
        /// 授权权限，传all
        /// </summary>
        public string scope { get; set; } = "all";

        /// <summary>
        /// 当前服务器时间戳(10位)
        /// </summary>
        public int timestamp { get; set; }

        /// <summary>
        /// 36位随机用来唯一标记此次调用，响应对象中会包含相同的id。UUID以36字节的字符串表示，
        /// </summary>
        public string id { get; set; }

    }

    /// <summary>
    /// 使用Refresh token更新Access Token请求实体
    /// </summary>
    public class RefreshYiLianYunToken
    {

        /// <summary>
        /// 易联云颁发给开发者的应用ID 非空值
        /// </summary>
        public string client_id { get; set; }

        /// <summary>
        /// 更新access_token所需
        /// </summary>
        public string refresh_token { get; set; }

        /// <summary>
        /// 授与方式（固定为'client_credentials'）
        /// </summary>
        public string grant_type { get; set; } = "client_credentials";

        /// <summary>
        /// 签名 详见API文档列表-接口签名
        /// </summary>

        public string sign { get; set; }

        /// <summary>
        /// 授权权限，传all
        /// </summary>
        public string scope { get; set; } = "all";

        /// <summary>
        /// 当前服务器时间戳(10位)
        /// </summary>
        public int timestamp { get; set; }

        /// <summary>
        /// 36位随机用来唯一标记此次调用，响应对象中会包含相同的id。UUID以36字节的字符串表示，
        /// </summary>
        public string id { get; set; }

    }

    /// <summary>
    /// 使用Refresh token更新Access Token请求实体
    /// </summary>
    public class GetPrintStatusParam
    {

        /// <summary>
        /// 易联云颁发给开发者的应用ID 非空值
        /// </summary>
        public string client_id { get; set; }

        /// <summary>
        /// 授权的token 必要参数
        /// </summary>
        public string access_token { get; set; }

        /// <summary>
        /// 易联云打印机终端号
        /// </summary>
        public string machine_code { get; set; }

        /// <summary>
        /// 签名 详见API文档列表-接口签名
        /// </summary>

        public string sign { get; set; }

        /// <summary>
        /// 当前服务器时间戳(10位)
        /// </summary>
        public int timestamp { get; set; }

        /// <summary>
        /// 36位随机用来唯一标记此次调用，响应对象中会包含相同的id。UUID以36字节的字符串表示，
        /// </summary>
        public string id { get; set; }

    }

    /// <summary>
    /// 打印提交数据
    /// </summary>
    public class WordPrintRespone
    {
        /// <summary>
        /// 开发者的应用ID，在开放平台创建应用时获得   
        /// </summary>
        public string client_id { get; set; }

        /// <summary>
        /// 授权的token 必要参数
        /// </summary>
        public string access_token { get; set; }

        /// <summary>
        /// 易联云打印机终端号
        /// </summary>
        public string machine_code { get; set; }

        /// <summary>
        /// 打印内容(需要urlencode)，排版指令详见打印机指令
        /// </summary>
        public string content { get; set; }

        /// <summary>
        /// 为 1 时，origin_id 进行幂等处理，请确定 origin_id 的唯一性
        /// </summary>
        public int idempotence { get; set; }

        /// <summary>
        /// 商户系统内部订单号，要求32个字符内，只能是数字、大小写字母 ，且在同一个client_id下唯一。详见商户订单号
        /// </summary>
        public string origin_id { get; set; }

        /// <summary>
        /// int
        /// </summary>
        public int timestamp { get; set; }

        /// <summary>
        /// 签名 详见API文档列表-接口签名
        /// </summary>
        public string sign { get; set; }

        /// <summary>
        /// idUUID4 详见API文档列表-uuid4
        /// </summary>
        public string id { get; set; }
    }

}
